package com.itsitio.dbloader.servicio;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.itsitio.dbloader.dao.UsuarioDao;
import com.itsitio.dbloader.modelo.usuario.Usuario;

@Service
@Transactional
public class UsuarioSrv {

	@Autowired
	UsuarioDao dao;
	
	//TEC
	public void eliminar(Usuario objeto){
		dao.eliminar(objeto);
		dao.flush();
	}
	//TEC
	public void eliminar(List<Usuario> objetos){
		dao.eliminar(objetos);
	}
	
	public void saveUsuario(Usuario user){
		dao.guardar(user);
		dao.flush();
	}
	
	public Usuario obternerPorMail(String mail){
		System.out.println("obternerPorMail: "+mail);
		return dao.buscarPorEmail(mail);
	}
	
	public Usuario obtenerPorUsuario(String usuario, boolean soloActivos) {
		System.out.println("obtenerPorUsuario: "+usuario);
		return dao.obtenerPorUsername(usuario,soloActivos);
	}

	public List<Usuario> obtenerPersonal() {
		return dao.obtenerPersonal();
	}
	
	public List<Usuario> obtenerUsuarios() {
		return dao.obtenerUsuarios();
	}	
	
	public List<Usuario> obtenerUsuariosActivos() {
		return dao.obtenerUsuariosActivos();
	}
	
	public Usuario obtenerPorId(long id) {
		return dao.obtener(id);
	}

	public List<Usuario> obtenerPorTexto(String texto, String filtro) {
		return dao.obtenerPorTexto(texto, filtro);
	}
	
	public Usuario obtenerPorIS(String is){
		System.out.println("obtenerPorIS: "+is);
		return dao.obtenerPorIS(is);
	}

	public List<String> obtenerFechas(long id) {
		return dao.obtenerFechas(id);
	}

	
}
